<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <script>

        // 作用域：变量生效的范围
        //   全局变量：在函数外面声明的变量
        //   局部变量：在函数里面声明的变量


        // 全局变量在一个页面上，到处都可以使用
        // 局部变量只能在函数里面使用


        // 作用域链：访问变量的时候，先访问自己的，自己如果没有，就找上一层的，直到报错为止


        // 函数本身也有作用域
        //    函数a嵌套了函数b   函数b就只能在函数a中使用

        // var a = 1;

        // function f() {
        //     console.log(a);
        //     var b = 2;
        // }

        // f();

        // console.log((b));





        // var a = 1;

        // function f() {
        //     var a = 3;
        //     console.log(a);   // 3
        // }

        // f();


        // console.log(a);    // 1






        var a = 1;

        function f() {
            var a = 2;
            function f2() {
                // var a = 3;
                var b = 2;
                console.log(a);
            }

            f2();

            // console.log(b);

        }

        f();


        f2();





    </script>

</body>

</html>